// C++ author 清晨与猫鱼
#include <iostream>
#include <string>
#include <memory>
#include "Realize.h"        // 引入我们的实例库

using namespace std;
    

int main(const int argc, const char **argv)
{
    ShapeFactory shapeFactory;      // 定义一个工厂实例

    // 生产一个圆形
    unique_ptr<Shape> shape1(shapeFactory.getShape("Circle"));

    shape1->draw();         // 调用绘制方法 

    // 生产正方形
    unique_ptr<Shape> shape2(shapeFactory.getShape("Square"));

    shape2->draw();     // 调用绘制方法 

    // 生成长方形
    unique_ptr<Shape> shape3(shapeFactory.getShape("Rectangle"));

    shape3->draw();     // 调用绘制方法 

}

